from flask import Flask, render_template, request, Response, jsonify

app = Flask(__name__)

'''
！！！！！！！！！！！！！！简单说一下！！！！！！！！！！！！！！！！！

实例1，2，3，4可以用做写代码的参考
大家各自负责自己的路由，不要随便修改别人的
要修改的话跟我说一下，因为我不是很会git分支管理，hhh

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.注意路由命名规范，统一"/+功能"，如"/login", 不要有下划线，【全部小写】，所以实例3命名是不对的，应该是"/checkdisk"
2.所有的变量名都必须有意义，严禁a,b,A,B这样的变量，命名统一规范 "功能"，如"userName", "userPassword" ->
    ->采用驼峰命名法，两个单词之间用大写区分，userName, userPassword, userScore，【首字母小写】
3.静态HTML命名需要直接表明HTML界面功能，如"login.html", "searchschool.html", "doexercise.html"，【同路由命名规范】

And 大家在定义一个路由后，需要在路由上方注释作者，功能

一个简单的小例子：

''
负责人：孔德浩
实现功能：用户登录
''
@app.route('/login.html') 
def login():
    return render_template('LogIn.html')
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
最后，大家修改的时候，一定要记得选择自己负责功能的分支
在pycharm右下角 Git:Master
点击，选择feature/xxx，然后点checkout
'''


@app.route('/accountlqc.html')  # 实例1，重新运行一个函数
def index1():
    return Response(modifypassword())


@app.route('/modifypassword_lqc.html')  # 实例2，直接返回一个界面
def modifypassword():
    return render_template('modifypassword_lqc.html')


@app.route("/check_disc", methods=['POST', 'GET'])  # 实例3，返回前端输入的数据
def check_disc():
    checks = request.form.get("checks")
    print(checks)
    return render_template('accountlqc.html')


@app.route('/getscores/')  # 实例4，Restful
def get_scores():
    data = {
        'msg': 'ok',
        'status': '200',
        'scores': [1, 2, 3, 4, 5, 6, 30, 40]
    }

    import requests
    import json
    # api路径
    url = "http://127.0.0.1:5000/users"
    parms = {
        'user': 'abc',  # 发送给服务器的内容
        'pwd': '456'
    }
    headers = {
        'User-agent': 'none/ofyourbusiness',
        'Spam': 'Eggs'
    }
    res = requests.post(url, data=parms, headers=headers)  # 发送请求
    text = res.text
    return jsonify(text)


'''
大家从这里开始写吧
'''

'''
负责人：孔德浩
实现功能：用户登录
'''
@app.route('/login.html', methods=['POST', 'GET'])
def login():
    userName = request.form.get("userName")
    userPassowrd = request.form.get("userPassowrd")
    return render_template('LogIn.html')


if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5701)
